public class Liste { // public String hatErschlagen = ""; private int deathToll = 0; public String[] biester = new String[20]; public String hatErschlagen() { String ausgabe = ""; for (int n = 0; n < biester.length; n++) { if (biester[n] != null) { if (!ausgabe.isEmpty()) { // if ( n > 0) { ausgabe += ", "; } ausgabe += biester[n]; } } return ausgabe; } public void erschlage(String monster){ biester[ deathToll ] = monster; deathToll++; } public int getDeathToll(){ /* tatsächliche Einträge im Array zählen */ int i; int friederiecke = 0; for (i = 0; i < biester.length; i++) { if(biester[i] != null) { friederiecke ++; } } return friederiecke; // return deathToll; } public void vergesse(String monster){ int i; for (i = 0; i < deathToll; i++) { if ( biester[i].equals(monster) ) { biester[i] = null; // deathToll--; } } } public static boolean test(){ Liste hercules = new Liste(); Liste odysseus = new Liste(); hercules.erschlage("Hydra"); // biester[0] = "Hydra" hercules.erschlage("Löwe"); // biester[1] = "Löwe" hercules.erschlage("Minotaurus"); // biester[2] = "Minotaurus" hercules.erschlage("Nessos"); // biester[3] = "Nessos" odysseus.erschlage("Zyklop"); odysseus.erschlage("Circe"); int n; n = hercules.getDeathToll(); assert( n == 4 ); assert( odysseus.getDeathToll() == 2 ); String biester = hercules.hatErschlagen(); assert( biester.equals("Hydra, Löwe, Minotaurus, Nessos") ); String drittes = hercules.biester[2]; assert( drittes.equals("Minotaurus")); assert( odysseus.biester[1].equals("Circe")); hercules.vergesse("Hydra"); assert( hercules.getDeathToll() == 3 ); assert( hercules.hatErschlagen().equals("Löwe, Minotaurus, Nessos") ); hercules.erschlage("Hydra"); assert( hercules.hatErschlagen().equals("Löwe, Minotaurus, Nessos, Hydra") ); return true; } // Funktionsende kehrt immer zurück zur Stelle des Aufrufs public static void main(String[] args){ assert( test() ); } }